import { defineProps } from '../../libs/util/props';
import theme from '../../libs/config/theme.js';

export default defineProps('tabs', {
    // 滑块的移动过渡时间，单位ms
    duration: {
        type: Number,
        default: 300,
    },
    // 是否启用转场动画
    animated: {
        type: Boolean,
        default: false,
    },
    // 是否启用左右滑动切换
    swipeable: {
        type: Boolean,
        default: false,
    },
    // 高度
    height: {
        type: [String, Number],
        default: '',
    },
    // tabs标签数组
    list: {
        type: Array,
        default: () => [],
    },
    // 滑块颜色
    lineColor: {
        type: String,
        default: theme.primary,
    },
    // 菜单选择中时的样式
    activeStyle: {
        type: [String, Object],
        default: () => ({
            color: theme.contentColor,
        }),
    },
    // 菜单非选中时的样式
    inactiveStyle: {
        type: [String, Object],
        default: () => ({
            color: theme.lightColor,
        }),
    },
    // 滑块长度
    lineWidth: {
        type: [String, Number],
        default: 20,
    },
    // 滑块高度
    lineHeight: {
        type: [String, Number],
        default: 3,
    },
    // 滑块背景显示大小，当滑块背景设置为图片时使用
    lineBgSize: {
        type: String,
        default: 'cover',
    },
    // 菜单item的样式
    itemStyle: {
        type: [String, Object],
        default: () => ({
            height: '44px',
        }),
    },
    // 菜单是否可滚动
    scrollable: {
        type: Boolean,
        default: true,
    },
    // 当前选中标签的索引
    current: {
        type: [Number, String],
        default: 0,
    },
    // 默认读取的键名
    keyName: {
        type: String,
        default: 'name',
    }
});
